<?php

/* * *********************************************************** */
/* * ******************** controller editora ******************* */
/* * ************ Desenvolvido por Antônio Ezequiel ************** */
/* * *********************************************************** */

//verifica se o usuario esta logado
if (!verificaUsuarioLogado())
    header("location: " . $configurator["siteadmin"] . '/login.A&V');
//verifica se a sessão expirou
if (verificarExpiracaoSessao ())
    header("location: " . $configurator["siteadmin"] . '/login.A&V');
//verifica se o usuario tem permissao
if (!verificaPermissao($_GET['pg'])) {
    header("location: " . $configurator["siteadmin"] . '/erro_permissao.A&V');
}

//atauliza o log do usuario
atualizaLogUsuario($configurator);

//inclusão das classes
include($configurator["classes"] . "/venda.classes.php");
include($configurator["dao"] . "/vendaDao.php");
require_once($configurator["classes"] . "/usuario.classes.php");
require_once($configurator["dao"] . "/usuarioDao.php");
include($configurator["classes"] . "/cliente.classes.php");
include($configurator["dao"] . "/clienteDao.php");

//instanciação dos objetos
$_venda = new VendaDao();
$_cliente = new ClienteDao();
$_usuario = new UsuarioDao();

//ver todos os usuarios via ajax
if ($_GET['verUsuario']) {
    $q = strtolower($_GET["verUsuario"]);
    if (!$q)
        return;
   $usuarios = $_usuario->listarUsuariosAutoComplite($q);
   
    foreach ($usuarios as $key => $value) {
        $cod = $value['codigo'];
        $val = $value['nome'];
        $items[$cod] = $val;
    }

    foreach ($items as $key => $value) {
        if (strpos(strtolower($value), $q) !== false) {
            echo "$value\n";
        }
    }
    exit;
}

//ver todos os clientes via ajax
if ($_GET['verClientes']) {
    $q = strtolower($_GET["verClientes"]);
    if (!$q)
        return;
    
   $clientes = $_cliente->listarClientesAutoComplites($q);
    foreach ($clientes as $key => $value) {
        $cod = $value['codigo'];
        $val = $value['nome'];
        $items[$cod] = $val;
    }

    foreach ($items as $key => $value) {
        if (strpos(strtolower($value), $q) !== false) {
            echo "$value\n";
        }
    }
    exit;
}

if ($_GET[ajax]) {
    if ($_GET[usuario] != '')
        $usuCodigo = $_usuario->listarUsuarioNome($_GET[usuario]);

    if ($_GET[cliente] != '')
        $cliCodigo = $_cliente->listarClienteNome($_GET[cliente]);

    $usuario_q = addslashes($usuCodigo[codigo]);
    $cliente_q = addslashes($cliCodigo[codigo]);
    $codigo_q = addslashes($_GET[codigo]);
    $data_inicio_q = addslashes($_GET[data_inicio]);
    $data_final_q = addslashes($_GET[data_final]);

    $dInicio = explode("/", $data_inicio_q);
    $data_inicio_q = $dInicio[2] . '-' . $dInicio[1] . '-' . $dInicio[0];

    $dFinal = explode("/", $data_final_q);
    $data_final_q = $dFinal[2] . '-' . $dFinal[1] . '-' . $dFinal[0];
    //inicializa a busca
    $ini = '1 = 1';

    if (isset($cliCodigo[codigo]) && $cliCodigo[codigo] != "") {
        $cliente = " and ven_cli_codigo = '$cliCodigo[codigo]'";
    }
    if (isset($usuCodigo[codigo]) && $usuCodigo[codigo] != "") {
        $usuario = " and ven_usu_codigo = '$usuCodigo[codigo]'";
    }
    if (isset($_GET[codigo]) && $_GET[codigo] != "") {
        $codigo = " and ven_codigo = '$codigo_q'";
    }
    if (isset($_GET[data_inicio]) && (isset($_GET[data_final]) && $_GET[data_final] != '')) {
        $data = " and ven_data BETWEEN '$data_inicio_q' AND '$data_final_q'";
    }
    if (($_GET[data_final] == '' && ($_GET[data_inicio] != ''))) {
        $data = " and ven_data like '$data_inicio_q%'";
    }

    // configuração para paginação
    $porPagina = 12;
    $pagina = $_GET[pag];

    if (!$pagina) {
        $inicio = 0;
        $pagina = 1;
    } else {
        $inicio = ($pagina - 1) * $porPagina;
    }

    $_venda->setCliente($cliente);
    $_venda->setUsuario($usuario);
    $_venda->setData($data);

    $vendas = $_venda->listarVendasPaginadoAjax($ini, $codigo, $usuario, $inicio, $porPagina);

    $totRegistro = $_venda->totalPaginasAjax($ini, $codigo);

    $totRegistros = $totRegistro['totRegistros'];

    //configuração da paginação
    $url = "venda_listagem.A&V!codigo!$_GET[codigo]&cliente=$_GET[cliente]&usuario=$_GET[usuario]&data_inicio=$_GET[data_inicio]&data_final=$_GET[data_final]&ajax=2&pag=" . ($pagina - 1);
    $url2 = "venda_listagem.A&V!codigo!$_GET[codigo]&cliente=$_GET[cliente]&usuario=$_GET[usuario]&data_inicio=$_GET[data_inicio]&data_final=$_GET[data_final]&ajax=2";
    $url3 = "venda_listagem.A&V!codigo!$_GET[codigo]&cliente=$_GET[cliente]&usuario=$_GET[usuario]&data_inicio=$_GET[data_inicio]&data_final=$_GET[data_final]&ajax=2&pag=" . ($pagina + 1);

    $smarty->assign("paginacao", montaPaginacaoAjax($totRegistros, $porPagina, $pagina, $url, $url2, $url3));

    $smarty->assign('vendas', $vendas);
    $smarty->display("venda_listagem.tpl");

    exit;
}

// configuração para paginação
$porPagina = 12;
$pagina = $_GET['pag'];

if (!$pagina) {
    //pega a quantidade de registros da pesquisa
    $Registros = $_venda->totalPaginas();
    $_SESSION['totRegistros'] = $Registros['quantidade'];

    $inicio = 0;
    $pagina = 1;
} else {
    $inicio = ($pagina - 1) * $porPagina;
}

$totRegistros = $_SESSION['totRegistros'];

$vendas = $_venda->listarVendasPaginado($inicio, $porPagina);

$smarty->assign("paginacao", montaPaginacao($totRegistros, $porPagina, $pagina));
$smarty->assign('vendas', $vendas);
$smarty->display("venda_listagem.tpl");
?>
